import { adminLogin } from '../api/index.js';
import { getToken,setToken } from './auth.js';

// 全局权限管理
const permissionUtils = {
  // 确保有管理员权限
  async ensureAdminPermission() {
    try {
      // 检查是否已经有token
      const token = getToken();
      if (token) {
        // 已有token，直接返回成功
        return true;
      }
      
      // 没有token，进行管理员登录
      console.log('正在获取管理员权限...');
      const loginResult = await adminLogin();
      
      if (loginResult && loginResult.access_token) {
        // 将token存入本地存储，确保持久化存储
        setToken(loginResult.access_token);
        console.log('管理员权限获取成功');
        return true;
      } else {
        console.error('管理员权限获取失败');
        uni.showToast({
          title: '系统权限获取失败，部分功能可能无法使用',
          icon: 'none',
          duration: 3000
        });
        return false;
      }
    } catch (error) {
      console.error('管理员权限获取异常:', error);
      uni.showToast({
        title: '系统权限获取异常，请稍后再试',
        icon: 'none',
        duration: 3000
      });
      return false;
    }
  }
};

export default permissionUtils;